Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / map / internal / MapExportProgressPanel.vue

Displaying Raw • Download


meshchatx/src/frontend/components/map/internal/MapExportProgressPanel.vue 9c739fa940d1bcaefcd5de9a3b461762a7200103 (9c739fa9) Text, 3.23 KB

T8b949e<!-- SPDX-License-Identifier: 0BSD -->

Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"absolute bottom-4 right-4 z-20 w-72 bg-white dark:bg-zinc-900 rounded-xl shadow-2xl border border-gray-200 dark:border-zinc-800 p-4 space-y-3 animate-in slide-in-from-bottom-4"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between items-center"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-sm text-gray-900 dark:text-zinc-100"Tb4b4b4>Tff7b72{{
Te6edf3statusTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff"completed" Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"map.download_ready"Tb4b4b4) Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"map.exporting"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff'completed' Tff7b72|| Te6edf3statusTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff'failed'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-gray-400"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'dismiss'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"close" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-red-500 hover:text-red-600 uppercase tracking-tighter"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'cancel'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.cancel"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3status Tff7b72!== Ta5d6ff'completed' Tff7b72&& Te6edf3statusTb4b4b4.Te6edf3status Tff7b72!== Ta5d6ff'failed'Ta5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-2 bg-gray-100 dark:bg-zinc-800 rounded-full overflow-hidden"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"h-full bg-blue-500 transition-all duration-300"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3widthTff7b72: Te6edf3statusTb4b4b4.Te6edf3progress Tff7b72+ Ta5d6ff'%' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between text-[10px] text-gray-500 mt-1 uppercase font-bold tracking-wider"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3current Tff7b72}} / Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3total Tff7b72}} tilesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3progress Tff7b72}}%Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff'completed'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72a
Tb4b4b4:Te6edf3hrefTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ff/api/v1/map/export/Tffd700${Te6edf3exportIdTffd700}Ta5d6ff/downloadTa5d6ff`Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-center space-x-2 w-full py-2 bg-emerald-500 hover:bg-emerald-600 text-white rounded-lg font-bold transition-colors shadow-md text-xs"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"download" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"map.download_now"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-center space-x-2 w-full py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg font-bold transition-colors shadow-md text-xs"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'show-offline-maps'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"map-check" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Show in Offline MapsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3status Tff7b72=== Ta5d6ff'failed'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-red-500 bg-red-50 dark:bg-red-950/20 p-2 rounded-lg"Tb4b4b4>
Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3error Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>

Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../../MaterialDesignIcon.vue"Tb4b4b4;

Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"MapExportProgressPanel"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{ Te6edf3MaterialDesignIcon Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3statusTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4, Te6edf3requiredTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3exportIdTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tb4b4b4[Tffa657StringTb4b4b4, Tffa657NumberTb4b4b4]Tb4b4b4, Tff7b72defaultTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3emitsTff7b72: Tb4b4b4[Ta5d6ff"dismiss"Tb4b4b4, Ta5d6ff"cancel"Tb4b4b4, Ta5d6ff"show-offline-maps"Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────